In enabling Internet communications between network devices, a flow connection must be established between a requesting client device and a responding server device. In establishing a TCP flow connection, the kernel of the server operating system must allocate memory for the TCP connection state and data buffers, then notify the web server process. The web server process may have a thread ready to use, have to setup another thread, or even have to create a full copy of the main web server process. It is thus more computationally intensive to setup new connections in handling requests in comparison to an already-open connection. For each established connection, a web server consumes memory for the TCP connection itself (state/buffers stored in the kernel, likely only 8-64 KB for an idle connection depending on memory pressure and previous use). More importantly, each connection consumes web server threads, and for most web applications, several megabytes of unique per-thread memory. As concurrency goes from tens to hundreds, or possibly hundreds to thousands (depending on application), the overhead of selecting which process/thread to run, and for how long, increases dramatically, reducing the effective CPU capacity of the server (known as context-switching overhead). Fewer open connections and fewer connections opening/closing means lower resource consumption per server.
In particular, NTLM is a protocol used over HTTP to associate an authentication state with the underlying TCP connection. Once an NTLM handshake has successfully completed, the client may proceed to issue HTTP keepalive requests on the same connection without the need for re-authentication. The distribution of client connections across network traffic management devices in a cluster may result in subsequent requests from the previously authenticated client to be handled by another network traffic management device that has not been authenticated.
What is needed is a system and method for dynamically cloning and reserving detached idle connections among network traffic management devices in a cluster that overcomes these disadvantages and limitations.